

package com.yungu.swift.system.sys.dao;

import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import com.github.miemiedev.mybatis.paginator.domain.PageList;
import com.yungu.swift.base.mapper.IMapper;
import com.yungu.swift.system.finance.model.param.AdminAccountFlowPageParam;
import com.yungu.swift.system.finance.model.param.AdminAccountPageParam;
import com.yungu.swift.system.sys.model.dto.SysAccountCompanyDto;
import com.yungu.swift.system.sys.model.vo.SysCompanyAccountFlowVo;
import com.yungu.swift.system.sys.model.vo.SysCompanyAccountVo;

import java.util.List;

public interface SysAccountCompanyMapper extends IMapper<SysAccountCompanyDto> {
    /**
     * 企业账户查询
     *
     * @param pageParam
     * @return
     */
    PageList<SysCompanyAccountVo> queryPageVo(AdminAccountPageParam pageParam, PageBounds pageBounds);

    /**
     * 企业账户查询（EXCEL导出）--注意与分页方法保持同名
     *
     * @param pageParam 参数集合
     * @return List
     * @author Zerrion
     * @date 2018/10/23
     */
    List<SysCompanyAccountVo> queryPageVo(AdminAccountPageParam pageParam);


    /**
     * 统计 —— 查询企业数量及账号总额
     *
     * @param pageParam
     * @return
     */
    SysCompanyAccountVo statistics(AdminAccountPageParam pageParam);

    /**
     * 查询企业账户流水
     *
     * @param flowPageParam
     * @return
     */
    PageList<SysCompanyAccountFlowVo> flowQueryPage(AdminAccountFlowPageParam flowPageParam, PageBounds pageBounds);

    /**
     * 查询企业账户流水 —— 导出
     *
     * @param flowPageParam
     * @return
     */
    List<SysCompanyAccountFlowVo> flowQueryPage(AdminAccountFlowPageParam flowPageParam);
}